package com.higgins.lawapp.client.settings.rpc;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.higgins.lawapp.client.settings.dataItemModel.DataItemContainerDTO;
import com.higgins.lawapp.client.settings.dataItemModel.DataItemDTO;
import com.higgins.lawapp.client.settings.dataItemModel.DataItemLevelDTO;
import com.higgins.lawapp.client.settings.dataItemModel.DataItemSourceDTO;


/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("dataItem")
public interface DataItemService extends RemoteService {
	List<DataItemSourceDTO> retrieveDataItems() throws IllegalArgumentException;
//	String updateDataItemSource(DataItemSourceDTO dataItemSourceDTO) throws IllegalArgumentException;
	String deleteDataItem(DataItemDTO dataItemDTO) throws IllegalArgumentException;
	String deleteDataItemLevel(DataItemLevelDTO dataItemLevelDTO) throws IllegalArgumentException;
	String deleteDataItemSource(DataItemSourceDTO dataItemSourceDTO) throws IllegalArgumentException;	
//	String updateLevelDataItem(String dataItemSourceName, String dataItemLevelName, int dataItemIndex, DataItemDTO dataItemDTO)	throws IllegalArgumentException;
//	String updateInstanceDataItem(String dataItemSourceName, String dataItemLevelName, String dataItemLevelInstance, int dataItemIndex, DataItemDTO dataItemDTO)	throws IllegalArgumentException;
//	List<DataItemInstanceDTO> retrieveDataItemInstance(String dataSourceName, String dataLevel, String instanceName) throws IllegalArgumentException;
	DataItemContainerDTO retrieveDataItemContainers(String dataSource, String dataLevel, String dataInstance) throws IllegalArgumentException;
}
